package com.spc.car.data.domain.project.vo;

import lombok.Data;
import lombok.experimental.Accessors;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
import javax.validation.constraints.Size;

@Data
@Accessors(chain = true)
public class ProjectEditVO {

    @NotNull(message = "更新的ID不能为空")
    private Long id;

    /**
     * 项目类型（02-政府采购；01-非政府采购）
     */
    @Pattern(regexp = "01|02", message = "项目类型有误")
    private String projectType;

    /**
     * 项目名称
     */
    @NotBlank(message = "项目名称不能位空")
    @Size(max = 200, message = "项目名称最大长度不能超过200个字符")
    private String name;

    /**
     * 项目所在行政区划码
     */
    @Pattern(regexp = "[0-9]{6}", message = "请输入6位区域编码")
    @NotBlank(message = "行政区码不能为空!")
    private String areaCode;

    /**区域名称*/
    private String areaName;

    /**
     * 项目地址
     */
    @NotBlank(message = "项目地址不能为空")
    private String address;

    /**
     * 立项/审批文号
     */
    @NotBlank(message = "立项或者是审批文号不能为空")
    private String approvalNum;

    /**
     * 项目单位/招标人编号
     */
    private String tendereeCode;

    /**
     * 项目单位/招标人
     */
    @NotBlank(message = "项目单位或者是招标人不能为空")
    private String tenderee;

    /**
     * 项目法人
     */
    @NotBlank(message = "项目法人不能为空")
    private String legalPerson;

    /**
     * 项目行业分类(行业代码门类字母码+2位大类数字码)
     */
    @NotBlank(message = "请选择项目行业分类")
    private String industryCode;

    /**行业分类名称*/
    private String industryName;

    /**资金来源名称*/
    @NotBlank(message = "资金来源不能为空！")
    private String fundsSourceCode;

    /**
     * 资金来源名称
     */
    private String fundsSourceName;

    /**
     * 项目规模
     */
    private String scale;

    /**
     * 联系人
     */
    @NotBlank(message = "联系人不能为空")
    private String contacts;

    /**
     * 联系方式
     */
    @NotBlank(message = "联系方式不能为空")
    @Pattern(regexp = "^\\d{11}$", message = "请输入11位的手机号码")
    private String contactPhone;
}
